home *** CD-ROM | disk | FTP | other *** search
- ; io.c
- SECTION NUM1,DATA
- L0:
- dc.l -1
- L1:
- dc.l L2
- dc.l L3
- dc.l L4
- SECTION NUM2,BSS
- XDEF _t_line
- _t_line DS.B 4
- XDEF _t_lab
- _t_lab DS.B 4
- XDEF _t_op
- _t_op DS.B 4
- XDEF _t_arg
- _t_arg DS.B 4
- L5: ds.b 2048
- SECTION NUM3,CODE
- XDEF _readline
- _readline:
- bra L7
- L6:
- L9:
- move.l _ifp,-(sp)
- move.l #2048,-(sp)
- move.l #L5,-(sp)
- jsr _fgets
- add.w #12,sp
- tst.l d0
- bne L12
- clr.l d0
- bra L8
- L12:
- move.l #L5,_t_line
- move.l #L5,-(sp)
- jsr _tokenize
- add.w #4,sp
- move.l #L14,-(sp)
- move.l _t_op,-(sp)
- jsr _stricmp
- add.w #8,sp
- tst.l d0
- bne L13
- move.l _t_arg,-10(a6)
- L15:
- move.l -10(a6),a0
- cmp.b #44,(a0)
- beq L16
- move.l -10(a6),a0
- tst.b (a0)
- beq L16
- add.l #1,-10(a6)
- bra L15
- L16:
- tst.l -10(a6)
- beq L17
- add.l #1,-10(a6)
- clr.l -14(a6)
- L18:
- move.l -10(a6),a0
- move.b (a0),d0
- ext.w d0
- ext.l d0
- add.l #__ctype,d0
- move.l d0,a0
- clr.l d0
- move.b (a0),d0
- and.l #12,d0
- beq L19
- cmp.l #4,-14(a6)
- bge L19
- move.l -10(a6),a0
- lea -5(a6),a1
- add.l -14(a6),a1
- move.b (a0),(a1)
- add.l #1,-10(a6)
- add.l #1,-14(a6)
- bra L18
- L19:
- lea -5(a6),a0
- add.l -14(a6),a0
- clr.b (a0)
- move.l L1,-(sp)
- pea -5(a6)
- jsr _stricmp
- add.w #8,sp
- tst.l d0
- bne L20
- clr.l L0
- bra L10
- bra L21
- L20:
- move.l L1+4,-(sp)
- pea -5(a6)
- jsr _stricmp
- add.w #8,sp
- tst.l d0
- bne L22
- move.l #1,L0
- bra L10
- bra L23
- L22:
- move.l L1+8,-(sp)
- pea -5(a6)
- jsr _stricmp
- add.w #8,sp
- tst.l d0
- bne L24
- move.l #2,L0
- bra L10
- L24:
- L23:
- L21:
- L17:
- bra L25
- L13:
- move.l #L27,-(sp)
- move.l _t_op,-(sp)
- jsr _stricmp
- add.w #8,sp
- tst.l d0
- bne L26
- bra L10
- bra L28
- L26:
- move.l #L30,-(sp)
- move.l _t_op,-(sp)
- jsr _stricmp
- add.w #8,sp
- tst.l d0
- bne L29
- move.l _ofp,-(sp)
- move.l #L5,-(sp)
- jsr _fputs
- add.w #8,sp
- bra L10
- L29:
- L28:
- L25:
- cmp.l #2,L0
- bne L31
- move.l #1,d0
- bra L8
- L31:
- move.l L0,-(sp)
- jsr _store
- add.w #4,sp
- L10:
- bra L9
- L11:
- L8:
- unlk a6
- rts
- L7:
- link a6,#-14
- bra L6
- _tokenize:
- bra L33
- L32:
- move.l 8(a6),a3
- move.l a3,-(sp)
- move.l #L38,-(sp)
- jsr _printf
- add.w #8,sp
- clr.l d3
- L39:
- tst.b (a3)
- beq L40
- cmp.b #9,(a3)
- beq L41
- cmp.b #32,(a3)
- beq L41
- cmp.b #10,(a3)
- beq L41
- clr d0
- bra L42
- L41: moveq #1,d0
- L42:
- tst.l d0
- bne L40
- cmp.b #58,(a3)
- beq L40
- move.l a3,d0
- add.l #1,a3
- move.l d0,a0
- move.l d3,d0
- add.l #1,d3
- add.l #L35,d0
- move.l d0,a1
- move.b (a0),(a1)
- bra L39
- L40:
- move.l #L35,d0
- add.l d3,d0
- move.l d0,a0
- clr.b (a0)
- move.l d3,-(sp)
- move.l #L35,-(sp)
- move.l a3,-(sp)
- move.l #L45,-(sp)
- jsr _printf
- add.w #16,sp
- cmp.b #58,(a3)
- bne L46
- add.l #1,a3
- L46:
- L47:
- cmp.b #9,(a3)
- beq L49
- cmp.b #32,(a3)
- beq L49
- cmp.b #10,(a3)
- bne L48
- L49:
- add.l #1,a3
- bra L47
- L48:
- clr.l d3
- L50:
- tst.b (a3)
- beq L51
- cmp.b #9,(a3)
- beq L52
- cmp.b #32,(a3)
- beq L52
- clr d0
- bra L53
- L52: moveq #1,d0
- L53:
- tst.l d0
- bne L54
- cmp.b #10,(a3)
- beq L54
- clr d0
- bra L55
- L54: moveq #1,d0
- L55:
- tst.l d0
- bne L51
- move.l a3,d0
- add.l #1,a3
- move.l d0,a0
- move.l d3,d0
- add.l #1,d3
- add.l #L36,d0
- move.l d0,a1
- move.b (a0),(a1)
- bra L50
- L51:
- move.l #L36,d0
- add.l d3,d0
- move.l d0,a0
- clr.b (a0)
- L56:
- cmp.b #9,(a3)
- beq L58
- cmp.b #32,(a3)
- beq L58
- cmp.b #10,(a3)
- bne L57
- L58:
- add.l #1,a3
- bra L56
- L57:
- clr.l d3
- L59:
- tst.b (a3)
- beq L60
- cmp.b #9,(a3)
- beq L61
- cmp.b #32,(a3)
- beq L61
- clr d0
- bra L62
- L61: moveq #1,d0
- L62:
- tst.l d0
- bne L63
- cmp.b #10,(a3)
- beq L63
- clr d0
- bra L64
- L63: moveq #1,d0
- L64:
- tst.l d0
- bne L60
- move.l a3,d0
- add.l #1,a3
- move.l d0,a0
- move.l d3,d0
- add.l #1,d3
- add.l #L37,d0
- move.l d0,a1
- move.b (a0),(a1)
- bra L59
- L60:
- move.l #L37,d0
- add.l d3,d0
- move.l d0,a0
- clr.b (a0)
- move.l #L37,-(sp)
- move.l #L36,-(sp)
- move.l #L35,-(sp)
- move.l #L65,-(sp)
- jsr _printf
- add.w #16,sp
- move.l #L35,_t_lab
- move.l #L36,_t_op
- move.l #L37,_t_arg
- L34:
- movem.l (sp)+,d3/a3
- unlk a6
- rts
- L33:
- link a6,#-0
- movem.l d3/a3,-(sp)
- bra L32
- SECTION NUM4,BSS
- L35: ds.b 2048
- L36: ds.b 2048
- L37: ds.b 2048
- SECTION NUM5,DATA
- L65: dc.b 'line -> |%s'
- dc.b '| |%s| |%s|',$a
- dc.b 0
- L45: dc.b 'line .. |%s'
- dc.b '| |%s| %d',$a
- dc.b 0
- L38: dc.b 'line |%s'
- dc.b '|',$a
- dc.b 0
- L30: dc.b 'XDEF'
- dc.b 0
- L27: dc.b 'END'
- dc.b 0
- L14: dc.b 'SECTION'
- dc.b 0
- L4: dc.b 'code'
- dc.b 0
- L3: dc.b 'data'
- dc.b 0
- L2: dc.b 'bss'
- dc.b 0
- END
-